// 10进制转26进制，但有所不同的是正常转换成26进制的余数是0 - 25，
// 而本题的余数是1 - 26（对应A - Z），为了消除差距的这个1:
// 让除数减一，那么余数自然就少一，原来余 1 的变成余 0

// Excel表列名称
var convertToTitle = function (columnNumber) {
    let res = [];
    while (columnNumber > 0) {
        columnNumber--;
        let temp = (columnNumber % 26) + 65;
        console.log(temp);
        res.push(String.fromCharCode(temp));
        columnNumber = Math.floor(columnNumber / 26);
        console.log(columnNumber);
    }
    return res.reverse().join('');
};

// let result = convertToTitle(29)
// console.log(result);

// 十进制转16 
function octToHex(input) {
    let map = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "A", "B", "C", "D", "E", "F"];
    let res = '';
    while (input > 16) {
        let temp = input % 16;
        res = map[temp] + res;
        input = (input - temp) / 16;
    }

    res = map[input % 16] + res;
    return res;
}
let res = octToHex(16);
console.log(res);